package cn.tedu.cake.mapper;

import cn.tedu.cake.pojo.entity.Order;
import cn.tedu.cake.pojo.vo.OrderListItemVO;
import cn.tedu.cake.pojo.vo.OrderStandardVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * 处理订单数据的Mapper接口
 */
public interface OrderMapper {
    /*插入订单数据*/
    int insert(Order order);
    /*批量插入订单数据*/
    int insertBatch(List<Order> orders);
    /*根据ID删除订单数据*/
    int deleteById(Integer id);
    /*根据若干个id批量删除订单数据*/
    int deleteByIds(List<Integer> ids);
    /*根据id修改订单数据*/
    int update(Order order);
    /*统计订单数据的数量*/
    int count();
    /*根据订单号统计数据的数量*/
    int countByOrderId(Integer orderId);
    /*统计非某id但名称匹配的相册数据的数量，用于检查是否存在其它数据使用了相同的名称*/
    int countByOrderIdAndNotId(@Param("id") Integer id, @Param("OrderId") Integer OrderId);
    /*根据id查询订单数据详情*/
    OrderStandardVO getStandardById(Integer id);
    /*查询订单数据列表*/
    List<OrderListItemVO> list();
}
